#ifndef LOGCONF_H_JM_20130124
#define LOGCONF_H_JM_20130124

#define JM_ENABLE_LOG_SYNCHRONIZATION
//#ifdef _DEBUG
//#define JM_ENABLE_LOG_TRACE
//#define JM_ENABLE_LOG_DEBUG
//#endif

#define JM_DISABLE_LOG_INFO
#define JM_DISABLE_LOG_WARN
#define JM_DISABLE_LOG_ERROR

#include <jmlib/logger/Log.h>

//typedef jmlib::StdCoutLogAppender MainAppender;


//
//typedef jmlib::FileLogAppender ModelFileLogAppender;
//typedef jmlib::FileLogAppender BoxRunFileLogAppender;
//typedef jmlib::FileLogAppender FileLogAppender;


//typedef jmlib::FileLogAppender ModelExecutionTimeLogAppender;
//typedef jmlib::FileLogAppender Step1ExecutionTimeLogAppender;
//typedef jmlib::FileLogAppender Step2ExecutionTimeLogAppender;
//typedef jmlib::FileLogAppender Step3ExecutionTimeLogAppender;

	//JM_ADD_LOG_APPENDER(ModelExecutionTimeLogAppender, "%m", 
	//	"file:execTime2.csv;append:true")

	//JM_ADD_LOG_APPENDER(Step1ExecutionTimeLogAppender, "%m", 
	//	"file:step1.csv;append:true")

	//JM_ADD_LOG_APPENDER(Step2ExecutionTimeLogAppender, "%m", 
	//	"file:step2.csv;append:true")

	//JM_ADD_LOG_APPENDER(Step3ExecutionTimeLogAppender, "%m", 
	//	"file:step3.csv;append:true")

	//JM_SET_LOGGER_ACTIVE_ON_APPENDER(TimeTracer, ModelExecutionTimeLogAppender)
	//JM_SET_LOGGER_ACTIVE_ON_APPENDER(Step1Tracer, Step1ExecutionTimeLogAppender)
	//JM_SET_LOGGER_ACTIVE_ON_APPENDER(Step2Tracer, Step2ExecutionTimeLogAppender)
	//JM_SET_LOGGER_ACTIVE_ON_APPENDER(Step3Tracer, Step3ExecutionTimeLogAppender)


//JM_ADD_LOG_APPENDER(MainAppender, "%x(%a)%i\t\t%m", "")

//JM_ADD_LOG_APPENDER(BoxRunFileLogAppender, "(%a) %m", 
//	"file:LOG_BOX_RUN.TXT;append:false")
//JM_ADD_LOG_APPENDER(ModelFileLogAppender, "%m \n", 
//	"file:LOG_MODEL.TXT;append:false")
//JM_ADD_LOG_APPENDER(FileLogAppender, "%x(%a)%i-%f\t%m", 
//	"file:ANALYSE_HT.TXT;append:false")
//JM_ADD_LOG_APPENDER(FileLogAppender, "(%a) %m", 
//	"file:ANALYSE_HT.TXT;append:false")
//JM_SET_ALL_LOGGER_ACTIVE
//JM_SET_LOGGER_ACTIVE_BY_PREFIX(ForkBox)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(runtimeLogger, FileLogAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(ResultLogger, MainAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(BoxRunTracer, BoxRunFileLogAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(PreprocessDataGroupsBoxLogger, BoxRunFileLogAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(BoxRunTracer, FileLogAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(HashDBOperationLogger, FileLogAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(ModelLogger, ModelFileLogAppender)
//
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(boxes_input_inputBox_logger, 
//	FileLogAppender)
//
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(commonBbx_tables_exportData_logger, 
//	MainAppender)

//
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(commonBbx_tables_exportData_logger, 
//	FileLogAppender)
//
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(boxes_hash_hashBox_logger, 
//	FileLogAppender)
//
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(boxes_hash_hashActivity_logger, 
//	FileLogAppender)
//	
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(boxes_bufferedOutputBox_logger, 
//	FileLogAppender)

//-----------

//JM_SET_LOGGER_ACTIVE_ON_APPENDER(boxes_hash1step_eliminationBox_logger, 
//	FileLogAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(ANALYSE_HT_LOGGER, FileLogAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(
//	boxes_aggregateFunctions_AggregatedFunctionBox_logger, FileLogAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(
//	boxes_aggregateFunctions_AggregatedFunctionResult_logger, FileLogAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(
//	boxes_input_sharedTableInputBox_logger, FileLogAppender)
//JM_SET_LOGGER_ACTIVE_ON_APPENDER(
//	boxes_hash_activityImpl_hashSecondOperandSubtractionBox_logger, 
//	FileLogAppender)

#endif
